package test;

import org.uqbar.arena.actions.MessageSend;
import org.uqbar.arena.layout.VerticalLayout;
import org.uqbar.arena.widgets.Button;
import org.uqbar.arena.widgets.Label;
import org.uqbar.arena.widgets.Panel;
import org.uqbar.arena.widgets.TextBox;
import org.uqbar.arena.windows.MainWindow;

/**
 * Ejemplo de Conversor de medidas con el framework arena.
 * Es una ventana que tiene como modelo una instancia de la clase {@link Conversor}.
 * 
 * Muestra:
 * <ul>
 * 	<li>un textbox donde se ingresa el valor de entrada</li>
 *  <li>un botÃ³n para ejecutar la conversiÃ³n.</li>
 *  <li>un label donde se muestra el resultado de la conversiÃ³n.</li>
 * </ul> 
 * 
 * @author npasserini
 */
public class Are extends MainWindow<Conversor> {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public Are() {
		super(new Conversor());
	}

	@Override
	public void createContents(Panel mainPanel) {
		mainPanel.setLayout(new VerticalLayout());

		TextBox millas = new TextBox(mainPanel);
		millas.bindValueToProperty(Conversor.MILLAS);

		Button convertir = new Button(mainPanel);
		convertir.setCaption("Convertir");
		convertir.onClick(new MessageSend(this.getModel(), Conversor.CONVERTIR));

		Label kilometros = new Label(mainPanel);
		kilometros.bindValueToProperty(Conversor.KILOMETROS);
	}

	public static void main(String[] args) {
		new Are().startApplication();
	}
}